const path = require('path')// 引入path模块
const CompressionWebpackPlugin = require('compression-webpack-plugin')
const productionGzipExtensions = /\.(js|css|json|txt|html|ico|svg)(\?.*)?$/i
function resolve (dir) {
  return path.join(__dirname, dir)// path.join(__dirname)设置绝对路径
}

module.exports = {
  // baseUrl: '../', 已废弃
  outputDir: '../backplat', // 设置打包目录
  publicPath: './', // 设置相对路径
  productionSourceMap: false, // 不需要map文件
  // productionGzip: true, // 开启压缩
  chainWebpack: (config) => {
    // set第一个参数：设置的别名，第二个参数：设置的路径
    config.resolve.alias.set('@', resolve('./src'))
    // 配置压缩
    config.plugin('compressionPlugin').use(new CompressionWebpackPlugin({
      filename: '[path].gz[query]',
      algorithm: 'gzip',
      test: productionGzipExtensions, // 匹配文件名
      // test: /\.js$|\.html$|.\css/,
      threshold: 10240, // 对超过10k的数据压缩
      minRatio: 0.8,
      deleteOriginalAssets: false // 删除源文件
    }))
  }
}
